This invention pertains to an improved method for employing vector error diffusion (also referred to herein as VED) with respect to an imaging device, typically a printer, which, as is the case with many printers, operates as a bi-tonal printing engine that creates (prints) bi-tonal color images in C,M,Y,K color space. The printing output color space of such an engine is referred to herein as a device output color space. Improvement, as offered by the present invention, especially takes place in the highlight areas of an image, wherein practice of the invention significantly minimizes graininess. A preferred embodiment of, and manner of practicing, the invention are illustrated herein in a setting wherein a source color image, whose data (referred to as input color-image data) initially “resides” in R,G,B color space, is first converted to a data file in L,a,b color space (referred to herein as an input color space). This L,a,b file is then processed by the steps of the invention to effect printing by a printer which prints a resulting bi-tonal image in C,M,Y,K color space, referred to herein, as mentioned above, as a device output color space. Thus, the illustration of the invention disclosed herein is presented in a setting wherein the input and output color spaces differ. It should be understood, however, that such a differing is not a requirement of the invention. The invention, as illustrated and described herein, is discussed just in the representative context of C,M,Y device output color space, notwithstanding the fact that a C,M,Y,K output-color-space printer is employed as the illustrative printer, or printing engine. C,M,Y color space is specifically referred to herein as the “employed” device output color space.
As will become apparent, the present invention, which introduces and offers a number of unique features, facets and advantages that will now be touched upon briefly in this introductory narrative, functions in pixel-by-pixel cycles to process color images. In particular, the invention implements VED employing a specially (in accordance with the invention) generated color-value palette, or table, (also referred to herein as a palette/table) which functions somewhat in the manner of a look-up table, and which correlates input-color-space pixel values with C,M,Y device output-color-space values based upon spectrophotometric analysis of the actual printing performance of a selected printer. The palette is specially and uniquely characterized (generated) in that, among other things, it contains no values relating to white, and further, and in accordance with the invention, in a manner whereby it contains three fictional sets of color values relating to three fictional colors C′, M′, and Y′. These fictional C′,M′,Y′ color values are selected (user choice enters here) to lie effectively “between” white values and the just-mentioned spectrophotometrically determined values for C, M, and Y, respectively.
Further describing this spectrophotometric practice, to prepare for implementation of the invention, the C,M,Y,K printer which is selected for use is operated to print a collection of primary C,M,Y color patches, and a collection of secondary C+M, C+Y, M+Y, and C+M+Y color patches. K is not necessarily employed, and will not be discussed herein. When this has been done, a spectrophotometer reads these color patches, and from that reading, effectively outputs the respective L,a,b pixel color values for each of the patches. These performance-measured L,a,b color values, appropriately “adjusted” to lie within a scale of values ranging from 0 to 100, which range relates proportionately to a “computer” range 0 to 255, then make up the bulk of the mentioned color-value palette. It should be understood here that while the preferred embodiment and manner of practicing the invention are described herein in a setting where the palette contains L,a,b color-space values, the palette may be constructed using any appropriate printing-device-independent color-space values.
Output colors for an output image are delivered to a selected printer (printing engine), and are printed on the basis of “look-up table employment” of the palette. The output colors are always one of the C,M,Y,K color-space primary or secondary colors. How this happens, and how the presence of the mentioned fictional values contributes to the advantages offered by the invention, will be explained below in the detailed description of the invention. It may be useful at this point in this discussion simply to say that the absence of white values in the palette, coupled with the presence of the mentioned, fictional C′,M′,Y′ values, creates a better setting for distributions of the lighter primary-color pixels, rather than of the darker secondary-color pixels, to be employed in the definitions of highlight regions in an output, printed, color, bi-tonal image. This condition, which is uniquely established by invocation of the present invention, leads to the suppression of unwanted graininess in such image regions.
Use of the just-outlined look-up table approach conveniently enables practice of VED without requiring pixel-value interpolation. Absence of representative values for white in the table links with another unique feature of the invention which is generally described in the paragraph presented immediately below. Presence of the mentioned, fictional C′,M′,Y′ values plays a significant role in minimizing graininess in image highlight areas through forcing selection of primary C,M,Y output colors in certain situations where, in the absence of the advantageous “intervention” interposed by the method of the present invention, darker secondary colors would be output to image highlight areas, and would create therein noticeable graininess.
Regarding the feature link just briefly mentioned above, acquired source-image pixel data, in whatever color space that data initially exists, is reviewed initially to cull out pixels which are either pure white or pure black. These pixels, where encountered, are directly sent to the printer for printing, without using any VED, and without performing any processing in the context of the palette/table.
Another special feature of the invention involves the implementation of luminance thresholding at a stage in the practice of the invention after white and black pixels have been culled, as generally described above, and also after VED processing has thereafter been applied to image data in the input color space. Where, as is specifically illustrated herein, the L,a,b color space is employed as the input color space, a threshold value, such as 245, is preferably established for L. One should understand that this luminance threshold value can be any value suitably chosen by the user, and typically will be a value which is relatively close to the value (255 normally) of pure white. The particular threshold value just mentioned is in no way a critical value, but has been found to be one which is quite practical and satisfactory for most applications. With application of luminance thresholding in accordance with the invention, any VED-processed pixel having an L value exceeding the chosen threshold value is declared to be a white pixel. All others (pixels) are sent on for comparison processing using the palette/table. The advantageous use of this L thresholding for white eliminates the need to have white represented in the palette/table values, and it contributes significantly to minimizing graininess in the finally printed, bi-tonal output image.
These and other special features and advantages that are offered by the invention will become more fully apparent as the detailed description thereof which now follows is read in conjunction with the accompanying drawings.